Motor control apparatus for vector-controlling sensorless motor

ABSTRACT

A motor control apparatus that vector-controls a sensorless motor includes an estimating unit configured to obtain an estimated phase value by estimating a phase of a rotor in the sensorless motor, and a generating unit configured to generate, from the estimated phase value and a phase command value of the rotor, a phase conversion value that is used for a coordinate conversion between a rotary coordinate system and a static coordinate system in the vector control. The generating unit is further configured to output the phase command value as the phase conversion value when the rotor is caused to start to rotate, and change the phase conversion value so that the phase conversion value approaches the estimated phase value from a predetermined timing after the rotor is caused to start to rotate.

BACKGROUND OF THE INVENTION

Field of the Invention

The present disclosure relates to motor control apparatuses that controlsensorless motors.

Description of the Related Art

Japanese Patent Laid-Open No. 2012-130100 discloses a motor controlapparatus for a sensorless motor in which a phase sensor, such as a Hallsensor, that detects the phase of the rotor is not used in motorcontrol. Motor control apparatuses for sensorless motors find the phaseof the rotor from a voltage applied to the motor and a coil current.

Because the phase of the rotor is found from a voltage applied to themotor and a coil current in a sensorless motor, the phase of the rotorcannot be detected when the rotor is stopped, for example. As such, in asensorless motor, forced driving that drives the motor is carried outusing a synchronization signal of a predetermined frequency until thephase of the rotor can be detected, and the driving is then switched tonormal sensorless driving, or in other words, stationary driving. Insensorless motors, there is demand for stability in the rotation of therotor during such transitions.

SUMMARY OF THE INVENTION

According to an aspect of the present invention, a motor controlapparatus that vector-controls a sensorless motor, includes: anestimating unit configured to obtain an estimated phase value byestimating a phase of a rotor in the sensorless motor; and a generatingunit configured to generate, from the estimated phase value and a phasecommand value of the rotor, a phase conversion value that is a phasedifference between a rotary coordinate system and a static coordinatesystem in the vector control. The generating unit is further configuredto output the phase command value as the phase conversion value when therotor is caused to start to rotate, and change the phase conversionvalue so that the phase conversion value approaches the estimated phasevalue from a predetermined timing after the rotor is caused to start torotate.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram illustrating a motor control apparatusaccording to an embodiment.

FIG. 2 is a schematic diagram illustrating an estimation computing unitaccording to an embodiment.

FIG. 3 is a schematic diagram illustrating a converted phase generatingunit according to an embodiment.

FIG. 4 is a flowchart illustrating operations when a motor is startedaccording to an embodiment.

FIG. 5 is a graph illustrating a change in a coordinate-converted phaseaccording to an embodiment.

FIG. 6 is a flowchart illustrating operations when a motor is startedaccording to an embodiment.

FIG. 7 is a schematic diagram illustrating a motor control apparatusaccording to an embodiment.

DESCRIPTION OF THE EMBODIMENTS

Hereinafter, exemplary embodiments of the present invention will bedescribed with reference to the drawings. Note that the followingembodiments are to be taken as examples only, and the present inventionis not intended to be limited by the embodiments. Note also thatconstituent elements not necessary for the descriptions of theembodiments have been omitted from the drawings.

First Embodiment

FIG. 1 is a schematic diagram illustrating a motor control apparatus 100that vector-controls a sensorless motor, according to the presentembodiment. The motor control apparatus 100 applies a voltage fordriving a DC brushless motor 101 (called simply a “motor 101”hereinafter) to the motor 101 in response to a speed command valueω*_(re), that has been input. A current detecting unit 104 measurescurrents flowing through U, V, and W phases of the motor 101 and outputsa U phase current value i_(u), a V phase current value i_(v) and a Wphase current value i_(w), which are current measurement values, to amotor control unit 102. Based on the speed command value ω*_(re) and theU phase current value i_(u), the V phase current value i_(v), and the Wphase current value i_(w) output from the current detecting unit 104,the motor control unit 102 outputs a U phase current operation amountV*_(u), a V phase current operation amount V*_(v), and a W phase currentoperation amount V*_(w) to a voltage applying unit 103. Note that in thefollowing descriptions, “current operation amount” refers to a voltagecommand value indicating a voltage to be applied. The voltage applyingunit 103 applies a voltage to the motor 101 based on the respectivephase current operation amounts. Note that the current detecting unit104 may be configured to detect currents of two given phases andcalculate the current value of the remaining phase through a computationprocess. The motor control unit 102 can be realized by causing aprocessor (a CPU) to execute a corresponding program. However, the motorcontrol unit 102 can also be realized using an FPGA, a custom LSI, orthe like, and can also be realized by combining two or more of aprocessor, an FPGA, a custom LSI, or the like.

The configuration of the motor control unit 102 will be described next.A managing unit 108 manages sequences of the motor control unit 102, andcontrols operations of a speed controller 105, a current control unit106, and an estimation computing unit 107. A three-phase to two-phaseconverter 110 of the current control unit 106 carries out a coordinateconversion process on the U phase current value i_(u), the V phasecurrent value i_(v), and the W phase current value i_(w) detected by thecurrent detecting unit 104, and obtains an α axis current value i_(α)and a β axis current value i_(β). Note that the α-β axis is a staticcoordinate system. For example, the α axis can be taken as one of thephase directions, such as the U phase direction, and the β axis can betaken as a direction orthogonal to the α axis. A rotary coordinateconverter 111 finds a d axis current value i_(d) and a q axis currentvalue i_(q) from the α axis current value i_(α) and the β axis currentvalue i_(β) by carrying out a coordinate conversion process. Note thatthe d-q axis is a rotary coordinate system. For example, the d axis canbe taken as a predetermined direction of the rotor, such as an N-poledirection, and the q axis can be taken as a direction orthogonal to thed axis. Note that in the coordinate conversion process, the rotarycoordinate converter 111 uses the phase conversion values output by theestimation computing unit 107, or in other words, a coordinate-convertedphase θ_(ctrl) indicating a phase difference between the α axis and thed axis.

The speed controller 105 determines and outputs a q axis current commandvalue i*_(q) for adjusting the speed of the motor 101, based on thespeed command value ω*_(re) and an estimated speed ω_(re) of the rotorof the motor 101 output by the estimation computing unit 107. Based onthe q axis current command value i*_(q), the d axis current value i_(d)and q axis current value i_(q), and a d axis current command valuei*_(d) from the managing unit 108, a current controller 109 finds a daxis current operation amount V*_(d) and a q axis current operationamount V*_(q) and outputs these amounts to a static coordinate converter112. The static coordinate converter 112 obtains an α axis currentoperation amount V*_(α) and a β axis current operation amount V*_(β)from the d axis current operation amount V*_(d) and the q axis currentoperation amount V*_(q) by carrying out a coordinate conversion processbased on the coordinate-converted phase θ_(ctrl) from the estimationcomputing unit 107. A two-phase to three-phase converter 113 finds the Uphase current operation amount V*_(u), the V phase current operationamount V*_(v), and the W phase current operation amount V*_(w), andoutputs these to the voltage applying unit 103, by carrying out acoordinate conversion process on the α axis current operation amountV*_(α) and the β axis current operation amount V*_(β).

The estimation computing unit 107 finds and outputs thecoordinate-converted phase θ_(ctrl) and the estimated speed ω_(e) fromthe α axis current operation amount V*_(α), the β axis current operationamount V*_(β), the α axis current value i_(α), and the β axis currentvalue i_(β). FIG. 2 is a block diagram illustrating the estimationcomputing unit 107. A phase estimating unit 201 calculates, from the αaxis current operation amount V*_(α), the β axis current operationamount V*_(β), the α axis current value i_(α), and the β axis currentvalue i_(β), an estimated value of an induced voltage produced along theα axis and the β axis of the motor 101. An estimated phase value for therotational phase of the rotor in the motor 101, or in other words, anestimated phase θ_(re) that is an estimated value of a phase differencebetween the α axis and the d axis, is then calculated based on theestimated value of the induced voltage. Note that the phase estimatingunit 201 may be configured to calculate the estimated phase θ_(re) fromthe respective values in the d-q coordinate system rather than the α-βcoordinate system. Furthermore, rather than estimating the phase fromthe estimated value of the induced voltage produced in the motor 101, amagnetic flux density may be estimated and the estimated phase may thenbe calculated from the estimated magnetic flux density.

FIG. 3 is a block diagram illustrating a converted phase generating unit202 illustrated in FIG. 2. A switch 305 of the converted phasegenerating unit 202 is controlled on/off by a signal SW from themanaging unit 108. As shown in FIG. 3, the switch 305 functions as aselecting unit that selects whether or not to enable an output from amultiplier 302 to be input into an adder 304. In the present embodiment,the switch 305 is off when the motor 101 is in a stopped state, and isswitched on when the motor 101 begins to make a transition from a forceddriving state to a stationary driving state. When the switch 305 is off,the converted phase generating unit 202 takes a value obtained byintegrating the speed command value ω*_(re) using an integrator 301 asthe coordinate-converted phase θ_(ctrl), and outputs the speed commandvalue ω*_(re) as the estimated speed ω_(re). In other words, thecoordinate-converted phase θ_(ctrl) and the estimated speed ω_(re) arerespectively calculated through the following formulae.θ_(ctrl)=ω*_(re) /s  (1)ω_(re)=ω*_(re)  (2)Note that s in the above formula is a Laplace operator.

The value obtained by integrating the speed command value ω*_(re) isalso a phase command value for the motor 101. Accordingly, when theswitch 305 is off, the coordinate-converted phase θ_(ctrl) matches thephase command value. In the present embodiment, a subtractor 303 and themultiplier 302 function as an error calculating unit, and output a valueobtained by multiplying an estimated phase error θ_(re) _(_) _(err),which is a difference between the estimated phase θ_(re) and thecoordinate-converted phase θ_(ctrl), by a predetermined coefficient.Specifically, the subtractor 303 finds and outputs the estimated phaseerror θ_(re) _(_) _(err), which is the difference between the estimatedphase θ_(re) and the coordinate-converted phase θ_(ctrl). The multiplier302 outputs a value obtained by multiplying the estimated phase errorθ_(re) _(_) _(err) by a gain K. Note that the gain K is set by themanaging unit 108. Accordingly, when the switch 305 is on, the adder 304adds the speed command value ω*_(re) and the value obtained bymultiplying the estimated phase error θ_(re) _(_) _(err) by thepredetermined gain K. In this case, the converted phase generating unit202 integrates, via the integrator 301, the sum of the speed commandvalue ω*_(re) and the value obtained by multiplying the estimated phaseerror θ_(re) _(_) _(err) by the predetermined gain K, and outputs theintegrated value as the coordinate-converted phase θ_(ctrl).Accordingly, when the switch 305 is on, the converted phase generatingunit 202 functions so as to cause the coordinate-converted phaseθ_(ctrl) to match the estimated phase θ_(re). The coordinate-convertedphase θ_(ctrl) and the estimated speed ω_(re) when the switch 305 is onare respectively calculated through the following formulae.θ_(ctrl) =K·θ _(re)/(s+K)+(s/(s+K))·(ω*_(re) /s)  (3)ω_(re) =sK·θ _(re)/(s+K)+(s/(s+K))·(ω*_(re) /s)  (4)Note that s in the above formula is a Laplace operator.

In this manner, when the switch 305 is on, the coordinate-convertedphase θ_(ctrl) gradually approaches the estimated phase θ_(re) at aspeed based on the gain K. Note that the multiplier 302 can be omittedin the case where the gain K is 1. Meanwhile, the estimated speed ω_(re)may be found by differentiating the estimated phase θ_(re).

FIG. 4 is a flowchart illustrating control executed by the motor controlunit 102 at the start of driving of the motor 101. In S10, the motorcontrol unit 102 stands by until a driving instruction is received fromthe managing unit 108. Upon receiving the driving instruction, the motorcontrol unit 102 issues driving instructions to the respective units inthe motor control unit 102. As a result, the current control unit 106starts forced driving of the motor 101. After the start of the forceddriving, the motor control unit 102 stands by in S12 until apredetermined amount of time has elapsed, and once the predeterminedamount of time has elapsed, in S13, the motor control unit 102 outputsthe signal SW and switches the switch 305 from off to on. As describedearlier, when the switch 305 is on, the coordinate-converted phaseθ_(ctrl) gradually approaches the estimated phase θ_(re) at a speedbased on the gain K. In S14, the motor control unit 102 monitors theestimated phase error θ_(re) _(_) _(err), which is the differencebetween the coordinate-converted phase θ_(ctrl) and the estimated phaseθ_(re), and stands by until the estimated phase error θ_(re) _(_) _(err)drops below a predetermined value. The motor control unit 102transitions to stationary driving once the estimated phase error θ_(re)_(_) _(err) drops below the predetermined value.

FIG. 5 is a graph illustrating changes in the coordinate-converted phaseθ_(ctrl) from the stopped state to the transition to stationary driving.From when forced driving is started in S11 to when the switch 305 turnson in S13, the coordinate-converted phase θ_(ctrl) matches the phasecommand value θ*_(re) obtained by integrating the speed command valueω*_(re). Here, the period spanning until the switch 305 turns on will becalled a “forced driving period”. As described earlier, when the switch305 is on, the coordinate-converted phase θ_(ctrl) gradually approachesthe estimated phase θ_(re) at a speed based on the gain K. In otherwords, even if the switch 305 is on, the coordinate-converted phaseθ_(ctrl) does not reach the estimated phase θ_(re) in a single change.Due to the gain K, the coordinate-converted phase θ_(ctrl) undergoesmultiple changes, and can gradually approach the estimated phase θ_(re)as a result. When the estimated phase error θ_(re) _(_) _(err) dropsbelow the predetermined value, reaching approximately 0, for example,the motor control unit 102 transitions to stationary driving. Here, theperiod spanning from when the switch 305 turns on to when the estimatedphase error θ_(re) _(_) _(err) drops below the predetermined value willbe called a “transitional period”, and a period following thereafterwill be called a “stationary driving period”.

Note that in the forced driving period, the speed controller 105 carriesout current control based on the q axis current command value i*_(q)_(_) _(ref) output by the managing unit 108 instead of the q axiscurrent command value i*_(q), as open-loop control. Note also that thetiming at which to change the q axis current command value i*_(q) _(_)_(ref) to the q axis current command value i*_(q) can be set to the timeof the transition to the stationary driving period. Details of theforced driving are not essential to the present embodiment, and thusdetailed descriptions thereof will be omitted. Note that the forceddriving can also undergo feed-forward control based on thecharacteristics of the motor 101, for example. Meanwhile, in thestationary driving period, the estimated phase θ_(re) may be outputas-is as the coordinate-converted phase θ_(ctrl). Furthermore, althoughthe flowchart in FIG. 4 indicates the switch 305 turning on when apredetermined amount of time passes or elapses, the switch 305 can alsobe turned on at the timing at which the estimated phase θ_(re) reaches apredetermined value, for example.

As described thus far, when transitioning from a forced driving state toa stationary driving state (a sensorless driving state), thecoordinate-converted phase θ_(ctrl) is gradually caused to transitionfrom the phase command value θ*_(re) to the estimated phase θ_(re). Thisconfiguration enables highly-stable transitions. Furthermore, accordingto the present embodiment, complicated calculations are unnecessary, andthus the transition from the forced driving to the stationary drivingstate can be carried out without increasing costs.

Second Embodiment

Next, a second embodiment will be described, focusing on the differencesfrom the first embodiment. In the present embodiment, the gain K isvaried between the forced driving and the stationary driving. FIG. 6 isa flowchart illustrating control executed by the motor control unit 102according to the present embodiment. This flowchart differs from theflowchart in FIG. 4 in that the process of S20 is executed after S12 andthe process of S21 is executed after S14. First, in the presentembodiment, the value of the gain K is set to Ka when the switch 305 isturned on in S13. Then, when the estimated phase error θ_(re) _(_)_(err) drops below the predetermined value in S14, the value of the gainK is set to Kb in S21. Note that the value Kb is a greater value thanthe value Ka. According to this configuration, the responsiveness ofcontrol during the stationary driving state can be increased.

Third Embodiment

Next, a third embodiment will be described, focusing on the differencesfrom the first embodiment. FIG. 7 is a schematic diagram illustrating amotor control apparatus 700 according to the present embodiment. Thepresent embodiment differs from the first embodiment in that a speeddetecting unit 701 that detects the speed of the motor 101 is provided,and the motor control apparatus 700 controls the speed based on thedetected motor speed. In the present embodiment, the speed detectingunit 701 outputs an actual rotational speed ω of the rotor, and thus thespeed controller 105 outputs the q axis current command value i*_(q)using the speed information ω rather than the estimated speed ω_(e) asin the first embodiment.

Other Embodiments

Embodiments of the present invention can also be realized by a computerof a system or apparatus that reads out and executes computer executableinstructions (e.g., one or more programs) recorded on a storage medium(which may also be referred to more fully as a “non-transitorycomputer-readable storage medium”) to perform the functions of one ormore of the above-described embodiments and/or that includes one or morecircuits (e.g., application specific integrated circuit (ASIC)) forperforming the functions of one or more of the above-describedembodiments, and by a method performed by the computer of the system orapparatus by, for example, reading out and executing the computerexecutable instructions from the storage medium to perform the functionsof one or more of the above-described embodiments and/or controlling theone or more circuits to perform the functions of one or more of theabove-described embodiments. The computer may comprise one or moreprocessors (e.g., central processing unit (CPU), micro processing unit(MPU)) and may include a network of separate computers or separateprocessors to read out and execute the computer executable instructions.The computer executable instructions may be provided to the computer,for example, from a network or the storage medium. The storage mediummay include, for example, one or more of a hard disk, a random-accessmemory (RAM), a read only memory (ROM), a storage of distributedcomputing systems, an optical disk (such as a compact disc (CD), digitalversatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, amemory card, and the like.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2014-095507, filed on May 2, 2014, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. A motor control apparatus that vector-controls asensorless motor, the apparatus comprising: an estimating unitconfigured to obtain an estimated phase value by estimating a phase of arotor in the sensorless motor; and a generating unit including a switchand configured to generate, from the estimated phase value and a phasecommand value of the rotor, a phase conversion value that is used for acoordinate conversion between a rotary coordinate system and a staticcoordinate system in the vector control by setting the switch to an ONstate, wherein the generating unit is further configured to output thephase command value as the phase conversion value by setting the switchto an OFF state when the rotor starts to rotate from a stopped state,and change the phase conversion value so that the phase conversion valueapproaches the estimated phase value from a predetermined timing afterthe rotor starts to rotate by setting the switch to the ON state.
 2. Themotor control apparatus according to claim 1, wherein the phase commandvalue is obtained by integrating an input speed command value of therotor.
 3. The motor control apparatus according to claim 2, wherein thegenerating unit includes: an error calculating unit configured to outputa value based on a phase error that is a difference between theestimated phase value and the generated phase conversion value; anadding unit configured to add the value output from the errorcalculating unit and the speed command value as an input; an integratingunit configured to generate and output the phase conversion value byintegrating a value output from the adding unit; and a selecting unitconfigured to select whether or not to input the value output from theerror calculating unit into the adding unit, wherein the selecting unitis further configured to not input the value output from the errorcalculating unit into the adding unit when the rotor is caused to startto rotate, and input the value output from the error calculating unitinto the adding unit from the predetermined timing.
 4. The motor controlapparatus according to claim 3, wherein the error calculating unitincludes: a subtracting unit configured to obtain the phase error; and amultiplying unit configured to multiply the phase error by apredetermined coefficient and output a result to the selecting unit. 5.The motor control apparatus according to claim 4, further comprising: achanging unit configured to change the predetermined coefficient to ahigher value when the phase error drops below a predetermined value. 6.The motor control apparatus according to claim 3, further comprising: adetermining unit configured to determine, from the speed command valueand a speed of the rotor, a current command value indicating a currentflowing in the sensorless motor.
 7. The motor control apparatusaccording to claim 6, wherein a value output from the adding unit istaken as the speed of the rotor.
 8. The motor control apparatusaccording to claim 1, wherein the predetermined timing is a time atwhich a predetermined amount of time has elapsed after the rotor hasbeen caused to start rotating.
 9. The motor control apparatus accordingto claim 1, wherein the predetermined timing is a time at which theestimated phase value reaches a predetermined value.
 10. The motorcontrol apparatus according to claim 1, wherein the estimating unit isfurther configured to obtain the estimated phase value from a voltagecommand value applied to the sensorless motor and a current measurementvalue obtained by measuring a current flowing in the sensorless motor.11. The motor control apparatus according to claim 1, wherein thegenerating unit is further configured to cause the phase conversionvalue to match the estimated phase value by changing the phaseconversion value.
 12. The motor control apparatus according to claim 1,wherein the generating unit is further configured to change the phaseconversion value a plurality of times so that the phase conversion valueapproaches the estimated phase value.
 13. The motor control apparatusaccording to claim 1, wherein the generating unit includes: an errorcalculating unit configured to output a value based on a phase errorthat is a difference between the estimated phase value and the generatedphase conversion value; and an adding unit configured to add the valueoutput from the error calculating unit and a speed command value of therotor, and wherein the switch connects the error calculating unit andthe adding unit in the ON state, and disconnects the error calculatingunit and the adding unit in the OFF state.
 14. The motor controlapparatus according to claim 13, wherein the generating unit includes anintegrating unit configured to generate and output the phase conversionvalue by integrating a value output from the adding unit; the speedcommand value input to the adding unit is input to the integrating unitwhen the error calculating unit and the adding unit is disconnected bythe switch; and a value that is a sum of the speed command value inputto the adding unit and the value output from the error calculating unitis input to the integrating unit when the error calculating unit and theadding unit are connected by the switch.
 15. The motor control apparatusaccording to claim 14, wherein the error calculating unit includes: asubtracting unit configured to obtain the phase error; and a multiplyingunit configured to multiply the phase error by a predeterminedcoefficient and output a result to the switch.
 16. A motor controlapparatus that vector-controls a motor, the apparatus comprising: anestimating unit configured to obtain an estimated phase value byestimating a phase of a rotor in the motor; and a generating unitconfigured to generate, from the estimated phase value and a phasecommand value of the rotor, a phase conversion value that is used for acoordinate conversion between a rotary coordinate system and a staticcoordinate system in the vector control, wherein the generating unitincludes: an error calculating unit configured to output a value basedon a phase error that is a difference between the estimated phase valueand the generated phase conversion value; an adding unit configured toadd the value output from the error calculating unit and a speed commandvalue of the rotor; an integrating unit configured to generate andoutput the phase conversion value by integrating a value output from theadding unit; and a selecting unit configured to select whether or not toinput the value output from the error calculating unit into the addingunit.
 17. The motor control apparatus according to claim 16, wherein theselecting unit is further configured to not input the value output fromthe error calculating unit into the adding unit when the rotor is causedto start to rotate, and input the value output from the errorcalculating unit into the adding unit from a predetermined timing afterthe rotor starts to rotate.
 18. The motor control apparatus according toclaim 16, wherein the error calculating unit includes: a subtractingunit configured to obtain the phase error; and a multiplying unitconfigured to multiply the phase error by a predetermined coefficientand output a result to the selecting unit.
 19. The motor controlapparatus according to claim 18, further comprising: a changing unitconfigured to change the predetermined coefficient to a higher valuewhen the phase error drops below a predetermined value.
 20. The motorcontrol apparatus according to claim 16, wherein the generating unit isfurther configured to change the phase conversion value a plurality oftimes so that the phase conversion value approaches the estimated phasevalue.